package com.woniu.shops.controller;

//import cn.hutool.core.date.DateUtil;
//import cn.hutool.core.io.FileUtil;
//import cn.hutool.core.util.IdUtil;
//import com.woniu.common.constans.Constants;
//import com.woniu.common.vo.AjaxResult;
//import org.springframework.web.bind.annotation.*;
//import org.springframework.web.multipart.MultipartFile;
//
//import java.io.File;
//import java.io.IOException;
//
//@RestController
//@RequestMapping("/file")
//@CrossOrigin
//public class UploadController {
//
//    @PostMapping("/upload")
//    public AjaxResult uploadFile(@RequestParam("file") MultipartFile file) throws IOException {
//        return handleFileUpload(file);
//    }
//
//    private AjaxResult handleFileUpload(MultipartFile file) throws IOException {
//        // 获取今天的时间作为子文件夹的名称
//        String today = DateUtil.format(DateUtil.date(), Constants.DEFAULT_CHINA_DATE_FORMAT);
//        // 拼接子文件夹地址
//        String uploadPath = Constants.DEFAULT_UPLOAD_IMAGE_PATH + today;
//        // 创建子文件夹
//        FileUtil.mkdir(uploadPath);
//
//        // 使用uuid作为图片的文件名称
//        String uuid = IdUtil.randomUUID().toUpperCase().replace("-", "");
//        // 获取源文件的地址
//        String originalFilename = file.getOriginalFilename();
//
//        // 拼接我们的文件地址
//        String newFileName = uuid + Constants.DEFAULT_IMAGE_FILE_SEPARATOR + originalFilename;
//
//        // 进行文件传输
//        file.transferTo(new File(uploadPath + "/" + newFileName));
//
//        return AjaxResult.success("上传成功", Constants.DEFAULT_BASE_VISIT_IMAGE_URL + today + "/" + newFileName);
//    }
//}

import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.IdUtil;
import com.woniu.common.constans.Constants;
import com.woniu.common.vo.AjaxResult;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;

@RestController
@RequestMapping("/file")
@CrossOrigin
public class UploadController {

    @PostMapping("/upload")
    public AjaxResult upload(@RequestParam("file") MultipartFile file) throws IOException {
        //获取今天的时间  当我们子文件夹的名称
        String today = DateUtil.format(DateUtil.date(), Constants.DEFAULT_CHINA_DATE_FORMAT);
        //拼接子文件夹地址
        String fileName = Constants.DEFAULT_UPLOAD_IMAGE_PATH + today;
        //创建子文件夹
        FileUtil.mkdir(fileName);

        //使用uuid来当我们图片的文件名称
        String uuid = IdUtil.randomUUID().toUpperCase().replace("-","");
        //获取源文件的地址
        String originalFilename = file.getOriginalFilename();

        //拼接我们的文件地址
        String newFileName = uuid +Constants.DEFAULT_IMAGE_FILE_SEPARATOR+ originalFilename;

        //进行文件传输
        file.transferTo(new File(fileName+"/"+newFileName));

        return AjaxResult.success("上传成功",Constants.DEFAULT_BASE_VISIT_IMAGE_URL+today+"/"+newFileName);
    }
}
